package com.springboot.util;///****************************************************
// * 创建人：  tanglei
// * 创建时间: 2022/6/20/11:37
// * 项目名称：junit_test
// * 文件名称: FileUtil.java
// * 文件描述: @Description:
// *
// * All rights Reserved, Designed By 投资交易团队
// * @Copyright:2016-2022
// *
// ********************************************************/
//package src.util;
//
//import cn.hutool.core.io.IoUtil;
//import com.win.dfas.common.exception.WinException;
//import com.win.dfas.common.util.ResponseUtil;
//import lombok.extern.slf4j.Slf4j;
//
//import javax.servlet.http.HttpServletResponse;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.InputStream;
//import java.io.OutputStream;
//import java.net.URLEncoder;
//
///**
// * 包名称：  src.util
// * 类名称：FileUtil
// * 类描述：
// * 创建人：  tanglei
// * 创建时间：2022/6/20 11:37
// */
//@Slf4j
//public class FileUtil {
//
//    /**
//     * @description:  通过文件路径下载文件
//     * @param filePath
//     * @return: void
//     * @author: tanglei
//     * @time: 2021/9/29 16:28
//     */
//    public static void downloadFileByPath(String filePath) {
//        HttpServletResponse response = ResponseUtil.getResponse();
//        downloadFileByPath(response, filePath);
//    }
//
//    public static void downloadFileByPath(HttpServletResponse response, String filePath) {
//        //得到要下载的文件
//        File file = new File(filePath);
//        //如果文件不存在
//        if (!file.exists()) {
//            //如果文件不存在，进行处理
//            log.info("文件不存在，请求路径为：{}", file.getAbsolutePath());
//            throw new WinException(String.format("%s 此文件不存在", file.getAbsolutePath()));
//        }
//        InputStream inputStream = null;
//        OutputStream outputStream = null;
//        try {
//            String fileName = file.getName();
//            response.setContentType("application/force-download");
//            //设置响应头，控制浏览器下载该文件
//            response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
//            response.setContentLength((int) file.length());
//
//            //读取要下载的文件，保存到文件输入流
//            inputStream = new FileInputStream(file);
//            outputStream = response.getOutputStream();
//            outputStream.flush();
//            IoUtil.copy(inputStream, outputStream);
//        } catch (Exception e) {
//            log.error("文件下载失败！");
//            throw new WinException("文件下载失败！{}", e.getMessage());
//        } finally {
//            IoUtil.close(inputStream);
//            IoUtil.close(outputStream);
//        }
//    }
//
//}
//
